//-------------------------------------------------------------------
//	Copyright (c) 2010-2012 Zhirnov Andrey
//	This file is part of the "UXGEN" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#ifndef _UX_ENGINE_INIT_H
#define _UX_ENGINE_INIT_H

#include "CCore.h"

namespace Engine
{
namespace CoreSystems
{

	//
	// Engine Init
	//

	struct TEngineInit
	{
		friend struct Engine::TMetaDataInitializer;
		
	private:
		TEngInitParams		_sInitParams;
		bool				_bLoaded;
		static CMetaClass	_s_cMetaEngineInit;
		
	private:
		TEngineInit();
		bool _ParseFile(const string &sFileName);
		void _InitMetaEngineInit();
		static void s_InitMetaEngineInit();

	public:
		TEngineInit(const TEngInitParams &sParams, const string &sFileName);
		~TEngineInit();
		
		bool					IsLoaded()		const	{ return _bLoaded; }
		const TEngInitParams &	GetInitParams()			{ return _sInitParams; }
	};

//-------------------------------------------------------------------

}	// CoreSystems
}	// Engine

#endif	// _UX_ENGINE_INIT_H